package model

import scala.collection.mutable.ArrayBuffer
import daos.FichasDAO
import traits.OperacionesCenso

class EstadisticasAnuales(val _añoEstadistica: Int) extends OperacionesCenso {

  def añoEstadistica = _añoEstadistica

  
  def fichasAnonimasFiltradas(): ArrayBuffer[FichaAnonima] = {
	fichas.fichasAnonimas.filter(_.año.equals(añoEstadistica))
  }
  
  def empresasFiltradas(): ArrayBuffer[EmpresaRegular] = {
	fichas.empresas.filter(_.fichasE.map(_.año).contains(añoEstadistica))
  }
  
  override def fichasDeEmpresas(): ArrayBuffer[FichaEmpresa] = {
    this.empresasFiltradas.map(_.getFichaByYear(añoEstadistica))
  }


  //	Devuelve una lista con los nombres de las empresas donde sus ventas son mayores al monto dado por parametro
  override def empresasConVentasMayoresA(monto: Double): ArrayBuffer[String] = {
	this.empresasFiltradas.filter(_.getFichaByYear(añoEstadistica).montoVentas > monto).map(_.nombre)
  }

  override def empresasMaxGanancias(): String = {
    this.empresasFiltradas.maxBy(_.getFichaByYear(añoEstadistica).montoGanancias).nombre
  }
  

  

}